home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dskut / qcopy.zip / QCOPY.DOC < prev    next >
Text File  |  1988-01-14  |  7KB  |  175 lines

  1. Quick-Copy Version 1.0        (C) Copyright 1988 Duane Ellis.
  2.  
  3. Purpose:
  4.     You have to make 10 to 20 copies of a disk, the DOS command 
  5. DISKCOPY would work fine, but... It has limitations:
  6.  
  7. 1) It must RE-READ the source disk every time. DISKCOPY should instead
  8.    read the source disk ONCE and keep the disk in memory. It should never
  9.    have to read it again! QCOPY keeps a copy of the master disk in RAM.
  10.  
  11. 2) DISKCOPY does not work optimumly with TWO floppy drives. (let alone the
  12.    idea of working with one disk...) Concidering the fact that DISKCOPY must 
  13.    read the source disk every time, it can only create one disk at a time. In 
  14.    a two drive system, QCOPY will automaticly write to DRIVE A, then when 
  15.    it has finished, it will continue on to DRIVE B.
  16.  
  17. 3) DISKCOPY does not tell you when it has finished and is waiting for another
  18.    disk.  I always walk away from the computer, I want the computer to
  19.    beep once in a while reminding the operator to "FEED ME!" QCOPY does this.
  20.    DISKCOPY only asks "Copy another? Y/N", it does not BEEP!
  21.  
  22. This program is based upon the Turbo Pascal programs FFMTX.PAS and FCOPY.PAS
  23. Complete ARC files are availbe in that area.  I used these programs as a 
  24. basis for this program.  
  25.  
  26. Limitations:
  27.  
  28.     I only use this program on a PC with NO hard disk. Why? I have this 
  29. great fear of FORMATING a hard disk. The only sure way around this is to 
  30. COMPLETELY disconnect the hard disk. ie REMOVE IT and UNPLUG THE CABLES!
  31. Or, you can use a PC with TWO floppies.
  32.  
  33.     I have not used this program on an AT. Why, there is something in
  34. the two pascal programs that refer to the DSAD on an AT. I have no docs on
  35. this, all I have is a hardware manual for PCs. Thus I don't know enough
  36. about the IBM AT's Also, I only have a 1.2meg drive in my AT. And you can't
  37. reliably format a 360K floppy in a 1.2meg drive. So I did not bother to
  38. try it on an AT. I did not test it on an AT. Nor even include IBM AT 
  39. compatibility in the program.
  40.  
  41.     The PASCAL programs (FFMTX.PAS and FCOPY.PAS) do include the IBM AT
  42. but only for the 360K drives. You may want to add this.
  43.  
  44.     When the PASCAL programs format the drives, they always support
  45. BAD SECTORS, and they mark them accordingly.  I write programs and distribute
  46. them, if a disk has a bad spot I throw it away. I feel that you are taking
  47. a chance with a non-100% A-OK floppy. 
  48.  
  49. How I tested this:
  50.  
  51.     I tested this on an IBM PC-II with 2 floppies, the NEW-BIOS
  52. (earlier versions of the PC bios will not boot from a hard disk, the
  53. newer versions know how, I used a newer version BIOS). And I was using
  54. MS-DOS Version 3.21. I tested it this way:
  55.  
  56.     I grabed three disks. I bulk erased one (used a magnet to do it)
  57. Formated the other two with DOS'es FORMAT command. Then I put a few files
  58. on one of the formated disks, this one became the MASTER.
  59.  
  60.     I ran the program using ONE, and also TWO drives. It made perfect
  61. copies of the original disk. I verified it with DISKCOMP.  It was able to
  62. recognize the formated disk and the BULK ERASED disk.
  63.  
  64.     Just to make sure I wasn't missing anything, I screwed up the two
  65. disks again. One with NORTON UITLITES, I changed some bytes on the disk. And 
  66. I used a magnet on the other. Again, DISKCOMP found problems with the disks. 
  67. When I RE-COPIED the disks, everything was fine.
  68.  
  69. How to use QCOPY:
  70.  
  71.     QCOPY must be told what it can use.  If you just type QCOPY,
  72. you will get a HELP screen. It looks like this:
  73.  
  74. Usage:  QCopy [-options]
  75.  
  76. Where options are:
  77.  
  78.         -V  Turns On Verify (re-reads disk..)
  79.         -A  Ok to use Drive A.
  80.         -B  Ok to use Drive B.
  81.         -H  Give help (this message...)
  82.         -?  Give help (this message...)
  83.         -I  Ignore Formated disks..(use them anyway..)
  84.  
  85.  To automaticly swap between drives, use -A and -B
  86.  
  87. By Default: the program will automaticly RE-READ every disk it makes.
  88.         the -V option turns this off.
  89.  
  90. By Default: the program will automaticly REJECT (ie refuse to use) 
  91.           pre-formated disks. -I, will tell it to IGNORE the format.
  92.           It will instead re-format the disk.
  93.  
  94. By Default: It will not work unless you tell it what drives it can use.
  95.         -A means it can use DRIVE A, -B means it can use DRIVE B.
  96.  
  97. Example:    I have two computers, One with DUAL floppies I use:
  98.  
  99.         QCOPY -A -B -I<enter>
  100.  
  101.         This tells QCOPY that it can use DRIVES A and B, and to ignore 
  102.         disks that are already formated.
  103.  
  104. Example:    I only have one disk drive. Drive A.
  105.  
  106.         QCOPY -A<enter>
  107.  
  108. The -I (ignore) option is handy when you have Version 1.0 of a program
  109. and you have to update that program to Version 1.1.
  110.  
  111. The program will always RE-FORMAT a disk. Tough. It would be nice if it
  112. would automaticly skip the formating step but... it will always 100% re-format
  113. a disk.
  114.  
  115. Changing the program: (ie customizing it to your likings...)
  116.     
  117.     QCOPY was written using the AZTEC C86 Compiler Version 3.40b,
  118. I used as few function calls as I could that where NON-UNIX calls. Infact
  119. the only ones that are NON UNIX are contained in  INTRFACE.C  You will have
  120. to add or change the following functions:
  121.  
  122.  
  123.    THE EASY ONES:
  124.     poll()   polls the keyboard, Returns 0 if no keys where hit
  125.          NON-ZERO if a key has been hit:
  126.  
  127.          if( poll() )
  128.             printf("you hit a key");
  129.          else
  130.             printf("you did not hit a key");
  131.  
  132.     getchr() Gets a char from the keyboard. Called by getachr().
  133.  
  134.          int ch;
  135.  
  136.          ch = getchr();
  137.     
  138.          printf("You pressed %c", ch );
  139.  
  140.     go( row, col ) - puts the cursor at this row and column. 
  141.           Source is included for the function. (0,0) is the
  142.         top left hand corner.
  143.  
  144.         Put the cursor at Row 4, Column 10.
  145.  
  146.         go( 4, 10 );
  147.  
  148.    THE HARDER ONE:
  149.         Get the CURRENT SECONDS. See TIMER.C for details.
  150.  
  151.    THE HARDEST ONE:
  152.         _seg_part(), _off_part(),  You pass a LARGE DATA POINTER
  153.         both SEGMENT and OFFSET to these two functions. They return
  154.         the SEGMENT portion, or the OFFSET portion.  If you have
  155.         AZTEC, take a look at the file SEGS.ASM, it is the source
  156.         code for these functions, If not.. well
  157.  
  158.         Some compilers have a way of getting the SEGMENT and
  159.         OFFSET. If I remember correctly, MicroS**t C, uses
  160.         FP_SEG() and FP_OFF()... I don't use MSC, so I'm
  161.         not sure.
  162.  
  163. An Implimentation note:
  164.  
  165.     In many places you will see a printf(" ...bunch of spaces... ");
  166. Why? Well, I did not have GENERIC erase to end of line function, so
  167. I print spaces over the top.
  168.  
  169.     Lastly, the program could sure use a much cleaner user interface
  170. (you know, draw pictures and be alittle more discriptive..) but..  what the 
  171. hell it works.
  172.  
  173.  
  174.     -- Duane Ellis Jan-14-1988
  175.